---
title: clsRSPrint
summary: API reference for clsRSPrint.
status: draft
owner: SAIF Case Management
last_reviewed: 2026-08-21
library: SAIF.Services.Printing
reference_type: embedded
---

# clsRSPrint

`clsRSPrint` is a standalone facade over the SQL Server Reporting Services `ReportExecutionService` SOAP client, used for reports rendered directly from an SSRS report path rather than through xPression. It shares no code path with `clsPrint`/`Reporting.*` other than residing in the same assembly, and authenticates to SSRS using the current process's Windows identity (`CredentialCache.DefaultCredentials`).

## Purpose
- Load a report definition from an SSRS report server by path and render it in a caller-selected output format.
- Maintain a name/value parameter collection applied to the SSRS execution context before rendering.
- Provide a declared (but unimplemented) SSRS report distribution capability.

## Context
- Namespace: `SAIF.Services.Printing`
- Assembly/package: `SAIF.Services.Printing` (embedded, front-end referenced)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `New()` | `Public Sub New()` | Parameterless constructor; delegates to the environment-service-accepting overload using `AppGlobal.EnvironmentService`.* |
| `New(envSvc)` | `Public Sub New(envSvc As EnvironmentServiceBase)` | Stores the supplied environment service and reads `sqlReportingServiceUrl` to initialize the SSRS SOAP proxy URL. |
| `ReportPath` | `Public Property ReportPath As String` | The SSRS report definition path to load via `LoadReport2`. |
| `Format` | `Public Property Format As Formats` | Selects the SSRS render format (see `Formats` enum). |
| `Extension` | `Public Property Extension As String` | The file extension associated with the selected `Format`. |
| `AddParameter(name, value)` | `Public Sub AddParameter(name As String, value As String)` | Adds a name/value pair to the internal parameter collection used on the next render; see [Add or clear SSRS report parameters](../../operations/manage-ssrs-parameters.md). |
| `ClearParameters()` | `Public Sub ClearParameters()` | Clears the internal parameter collection; see [Add or clear SSRS report parameters](../../operations/manage-ssrs-parameters.md). |
| `PreviewDocument()` | `Public Function PreviewDocument() As Byte()` | Loads the report, applies parameters, and renders it in the selected format; see [Render an SSRS report](../../operations/render-ssrs-report.md). |
| `DistributeDocument()` | `Public Function DistributeDocument() As Boolean` | Declared distribution capability; always throws `NotImplementedException`; see [Distribute an SSRS report](../../operations/distribute-ssrs-report.md). |
| `Formats` (nested enum) | `Public Enum Formats` | Output format selector (`CSV`, `Excel`, `HTML`, `Image`, `PDF`, `Word`, `XML`), each mapped to an SSRS render-format string and file extension. |
| `ImageFormats` (nested enum) | `Public Enum ImageFormats` | Image sub-format selector when `Format = Image` (`BMP`, `EMF`, `GIF`, `JPEG`, `PNG`, `TIFF`). |

## Behavioral notes
- `PreviewDocument` deliberately leaves `HistoryID` uninitialized before calling `LoadReport2`, per an inline code comment stating that initializing it causes the call to fail with an invalid `SnapshotId`.
- `DistributeDocument` is an explicit `NotImplementedException` stub; whether SSRS report distribution is planned, deprecated, or intentionally unsupported is unknown.**
- Authentication to SSRS uses `System.Net.CredentialCache.DefaultCredentials` (Windows-integrated authentication); no explicit credential or SAIF-issued token is used.*

## Constraints and usage notes
- SSRS executes the report's own data-source queries server-side; this class performs no direct database access and has no visibility into the report's underlying SQL.*

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Services.Printing\clsRSPrint.vb`
